CentOS 7
Sponsored Link

Cgroups : Configure Rules
2017/08/30
 
It's possible to apply rules of tasks in Control Groups automatically to set configuration on conf file.
[1] Start Cgred service that applys tasks to Control Groups by setting file.
[root@dlp ~]#
systemctl start cgred

[root@dlp ~]#
systemctl enable cgred
[2] This is an example to set rules.
# create a Control Group

[root@dlp ~]#
cgcreate -g cpu:/cpu_quota-70

[root@dlp ~]#
cgset -r cpu.cfs_quota_us=70000 cpu_quota-70

[root@dlp ~]#
cgget -g cpu /cpu_quota-70

/cpu_quota-70:
cpu.rt_period_us: 1000000
cpu.rt_runtime_us: 0
cpu.stat: nr_periods 0
        nr_throttled 0
        throttled_time 0
cpu.cfs_period_us: 100000
cpu.cfs_quota_us: 70000
cpu.shares: 1024

[root@dlp ~]#
vi /etc/cgrules.conf
# add to the end line

# [user] [subsystem] [control group]

cent cpu /cpu_quota-70
# for specific comman/script, set [user:command]

# possible to use wild card (* = all)

# below means [test.sh] by all users set in [cpu_quota-70] group

*:test.sh cpu /cpu_quota-70
# for specifying group, set [@group]

@cent cpu /cpu_quota-70
[root@dlp ~]#
systemctl restart cgred

# make sure with [cent] user

# run test job

[cent@dlp ~]$
yes > /dev/null &

[1] 1353
# CPU#0 is limited for 70% by [cpu_quota-70]

[cent@dlp ~]$
mpstat -P ALL 1 1 | grep ^Average

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all   34.67    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   65.33
Average:       0   69.70    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   30.30
Average:       1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
 
Tweet